package com.langChain4j.multiagent.service;

import com.base.frame.common.service.IBaseService;
import com.langChain4j.multiagent.controller.vo.CreateTaskVo;
import com.langChain4j.multiagent.controller.vo.UpdateStatusVo;
import com.langChain4j.api.entity.MultiAgentCollaboration;

/**
 * 多智能体协作服务接口
 *
 * @author linjun
 */
public interface MultiAgentService extends IBaseService<MultiAgentCollaboration> {

    /**
     * 创建多智能体协作任务
     *
     * @param createTaskVo 创建任务入参对象
     * @return 协作任务ID
     */
    Long createTask(CreateTaskVo createTaskVo);

    /**
     * 根据ID查询任务详情
     *
     * @param collaborationId 协作任务ID
     * @return 任务详情
     */
    MultiAgentCollaboration getTaskById(Long collaborationId);

    /**
     * 更新任务状态
     *
     * @param updateStatusVo 更新状态入参对象
     * @return 是否更新成功
     */
    boolean updateStatus(UpdateStatusVo updateStatusVo);

}